import Vue from 'vue'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import Element from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
import '@/styles/index.scss' // global css
import App from './App'
import router from './router'
import store from './store'
import i18n from './lang' // Internationalization
import './icons' // icon
import './errorLog' // error log
import * as filters from './filters' // global filters
import './mock' // simulation data
// font-awesome
import 'font-awesome/css/font-awesome.css'

/*
 * 注册 - 业务模块
 */
import dashboard from '@/module-dashboard/' // 面板
import base from '@/module-manage/' // 用户管理
import hmmm from '@/module-hmmm/'
// 注册视频播放
// import VideoPlayer from 'vue-video-player'
// import 'vue-video-player/src/custom-theme.css'
// import 'video.js/dist/video-js.css'
// 导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
// 导入富文本编辑器的样式
// import 'quill/dist/quill.core.css'
// import 'quill/dist/quill.snow.css'
// import 'quill/dist/quill.bubble.css'
// 视频
// import VueCoreVideoPlayer from 'vue-core-video-player' // 黑马面面
// 导入时间过滤器
import dayjs from 'dayjs'
// Vue.use(VueCoreVideoPlayer)
Vue.use(VueQuillEditor)

// Vue.use(VideoPlayer)

/*
 * 注册 - 组件
 */
/* 混入 */
// import mixin from './mixin/index'
Vue.use(VueQuillEditor)

Vue.use(dashboard, store)
Vue.use(base, store)
// Vue.use(list, store)
// Vue.use(form, store)
// Vue.use(details, store)
Vue.use(hmmm, store)
// Vue.mixin(mixin)
// 饿了么
Vue.use(Element, {
  size: 'medium', // set element-ui default size
  i18n: (key, value) => i18n.t(key, value)
})
// 过滤器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})
// 注册题型过滤器
Vue.filter('questionType', function (value) {
  if (value === '3') {
    return '简答'
  }
  if (value === '2') {
    return '多选'
  }
  if (value === '1') {
    return '单选'
  }
})
// 注册难度过滤器
Vue.filter('difficulty', function (value) {
  if (value === '3') {
    return '困难'
  }
  if (value === '2') {
    return '一般'
  }
  if (value === '1') {
    return '简单'
  }
})
// 注册时间过滤器
Vue.filter('addDate', function (value) {
  return dayjs(value).format('YYYY-MM-DD HH:hh:mm')
})
// 审核状态过滤器
// chkState
Vue.filter('chkState', function (value) {
  if (value === 2) {
    return '已拒绝'
  }
  if (value === 1) {
    return '已通过'
  }
  if (value === 0) {
    return '待审核'
  }
})
// 发布状态过滤器
Vue.filter('publishState', function (value) {
  if (value.chkState === 2 || value.chkState === 0) {
    return '待发布'
  }
  if (value.publishState === 1) {
    return '已发布'
  }
  if (value.publishState === 0) {
    return '已下架'
  }
})
Vue.config.productionTip = false

/* eslint-disable */
new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
